CC=gcc
CXX=g++
EXTRADEFS=-DLINUX_OS 
INCLUDES=-I. -I.. 
CFLAGS=-O0 -g3 -Wall $(INCLUDES) $(CE) \
	$(EXTRADEFS)
CPPFLAGS=-O0 -g3 -Wall $(INCLUDES) -Weffc++ \
	$(EXTRADEFS)
LD=g++
LDFLAGS=-L.
LIBS=

# Define COMPILE and LINK commands
COMPILEC=$(CC) $(CFLAGS) -c
COMPILECPP=$(CXX) $(CPPFLAGS) -c
LINK=$(LD) $(LDFLAGS)

.PHONY: all clean


###############################################################################
###############################################################################
# To compile ALL examples

all:	conversion_tester
###############################################################################
#################### Rules for different example programs #####################
###############################################################################

# Rule for YUYV_TO_RGB
YUYV_TO_RGB_OBJECTS=YUYV_to_RGB.o

# Combined lib.
LIBCONVERSIONS_OBJECTS=$(YUYV_TO_RGB_OBJECTS)

############ Rule for the libConversions.a
libConversions.a: $(LIBCONVERSIONS_OBJECTS)
	@ar rv $@ $?
	@echo "      [AR] $@"
	@ranlib $@
	@echo "      [RANLIB] $@"

############ Rule for the testApp
conversion_tester: conversion_tester.o libConversions.a
	$(LINK) -o $@ $< $(LIBS) -lConversions

###############################################################################
###############################################################################
# To clean up
clean:
	rm -f *~ \
	$(LIBCONVERSIONS) \
	conversion_tester

realclean: clean
	rm -f \
	JPEGDecoder_example
###############################################################################
###############################################################################

# Compile rule for all .o (.c) file
%.o:	%.c
	$(COMPILEC) -o $@ $<

# Compile rule for all .opp (.cpp) files
%.opp:	%.cpp
	$(COMPILECPP) -o $@ $<

###############################################################################
